# Gradio နိဒါန်း[[introduction-to-gradio]]

<CourseFloatingBanner
    chapter={9}
    classNames="absolute z-10 right-0 top-0"
/>

ဒီအခန်းမှာ ကျွန်တော်တို့ဟာ သင့်ရဲ့ machine learning models တွေအတွက် **interactive demos** တွေကို ဘယ်လိုတည်ဆောက်ရမယ်ဆိုတာ လေ့လာသွားမှာပါ။

ဘာကြောင့် machine learning model အတွက် demo ဒါမှမဟုတ် GUI တစ်ခုကို တည်ဆောက်သင့်တာလဲ။ Demos တွေက အောက်ပါတို့ကို ခွင့်ပြုပါတယ်...

-   **Machine learning developer များ**က ၎င်းတို့ရဲ့ အလုပ်တွေကို နည်းပညာပိုင်းမကျွမ်းကျင်တဲ့ အဖွဲ့များ ဒါမှမဟုတ် ဖောက်သည်များ အပါအဝင် ပရိသတ်ကျယ်ပြန့်စွာကို လွယ်ကူစွာ တင်ပြနိုင်ပါတယ်။
-   **Researchers များ**က machine learning models တွေနဲ့ behavior တွေကို ပိုမိုလွယ်ကူစွာ reproduce လုပ်နိုင်ပါတယ်။
-   **Quality testers များ** ဒါမှမဟုတ် **end users များ**က models တွေရဲ့ failure points တွေကို ပိုမိုလွယ်ကူစွာ ဖော်ထုတ်ပြီး debug လုပ်နိုင်ပါတယ်။
-   **မတူကွဲပြားသော သုံးစွဲသူများ**က models များရှိ algorithmic biases တွေကို ရှာဖွေတွေ့ရှိနိုင်ပါတယ်။

ကျွန်တော်တို့ရဲ့ models တွေအတွက် demos တွေ တည်ဆောက်ဖို့ Gradio library ကို အသုံးပြုပါမယ်။ Gradio က Python သုံးပြီး machine learning model တိုင်းအတွက် web-based demos တွေကို တည်ဆောက်နိုင်၊ စိတ်ကြိုက်ပြင်ဆင်နိုင်ပြီး မျှဝေနိုင်ပါတယ်။

Gradio နဲ့ တည်ဆောက်ထားတဲ့ machine learning demos တွေရဲ့ ဥပမာအချို့ကတော့ -

*   sketch တစ်ခုကို input အဖြစ်ယူပြီး ဘာကိုဆွဲထားတယ်လို့ ထင်သလဲဆိုတဲ့ labels တွေကို output ထုတ်ပေးတဲ့ **sketch recognition** model တစ်ခု-

<iframe src="https://course-demos-draw2.hf.space" frameBorder="0" height="450" title="Gradio app" class="container p-0 flex-grow space-iframe" allow="accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking" sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>

*   context paragraph တစ်ခုနဲ့ မေးခွန်းတစ်ခုကို input အဖြစ်ယူပြီး response နဲ့ probability score ကို output ထုတ်ပေးတဲ့ extractive **question answering** model တစ်ခု (ဒီလို model အမျိုးအစားအကြောင်းကို [Chapter 7](/course/chapter7/7) မှာ ဆွေးနွေးခဲ့ပါတယ်)

<iframe src="https://course-demos-question-answering-simple.hf.space" frameBorder="0" height="640" title="Gradio app" class="container p-0 flex-grow space-iframe" allow="accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking" sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>

*   image တစ်ခုကို input အဖြစ်ယူပြီး background ကို ဖယ်ရှားထားတဲ့ image ကို output ထုတ်ပေးတဲ့ **background removal** model တစ်ခု

<iframe src="https://course-demos-remove-bg-original.hf.space" frameBorder="0" height="640" title="Gradio app" class="container p-0 flex-grow space-iframe" allow="accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking" sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>

ဒီအခန်းကို **concepts** နဲ့ **applications** နှစ်ခုလုံးပါဝင်တဲ့ အပိုင်းတွေအဖြစ် ပိုင်းခြားထားပါတယ်။ အပိုင်းတစ်ခုစီမှာ concept ကို သင်ယူပြီးတာနဲ့၊ image classification ကနေ speech recognition အထိ မတူညီတဲ့ demo အမျိုးအစားတစ်ခုကို တည်ဆောက်ဖို့ အဲဒါကို အသုံးချသွားမှာပါ။ ဒီအခန်းပြီးတဲ့အခါ၊ သင်ဟာ ဒီ demos တွေကို (အများကြီး ထပ်တိုး) Python code လိုင်းအနည်းငယ်နဲ့ တည်ဆောက်နိုင်ပါလိမ့်မယ်။

> [!TIP]
> 👀 Machine learning community က တည်ဆောက်ထားတဲ့ machine learning demos တွေရဲ့ နောက်ဆုံးဥပမာများစွာကို ကြည့်ရှုဖို့ <a href="https://huggingface.co/spaces" target="_blank">Hugging Face Spaces</a> ကို ကြည့်ပါ။

## ဝေါဟာရ ရှင်းလင်းချက် (Glossary)

*   **Interactive Demos**: အသုံးပြုသူများနှင့် အပြန်အလှန်တုံ့ပြန်နိုင်သော၊ machine learning models များ၏ စွမ်းဆောင်ရည်ကို တိုက်ရိုက်ပြသနိုင်သော application များ။
*   **Machine Learning Models**: Artificial Intelligence (AI) နယ်ပယ်တွင် အချက်အလက်များကို လေ့လာပြီး ခန့်မှန်းချက်များ ပြုလုပ်ရန် ဒီဇိုင်းထုတ်ထားသော သင်္ချာဆိုင်ရာဖွဲ့စည်းပုံများ။
*   **GUI (Graphical User Interface)**: အသုံးပြုသူများနှင့် ဂရပ်ဖစ်ပုံစံဖြင့် အပြန်အလှန်တုံ့ပြန်နိုင်သော ဆော့ဖ်ဝဲလ် interface။
*   **Machine Learning Developers**: Machine Learning မော်ဒယ်များကို ဖန်တီး၊ တည်ဆောက်ပြီး အကောင်အထည်ဖော်သူများ။
*   **Non-technical Teams**: နည်းပညာဆိုင်ရာ ဗဟုသုတ နည်းပါးသော အဖွဲ့များ (ဥပမာ- စျေးကွက်ရှာဖွေရေး၊ စီးပွားရေးအဖွဲ့များ)။
*   **Customers**: ကုန်ပစ္စည်း သို့မဟုတ် ဝန်ဆောင်မှုများကို အသုံးပြုသူများ။
*   **Researchers**: သုတေသနလုပ်ငန်းများကို လုပ်ဆောင်သူများ။
*   **Reproduce**: သတ်မှတ်ထားသော code နှင့် data ကို အသုံးပြု၍ တူညီသော ရလဒ်များကို ပြန်လည်ထုတ်လုပ်နိုင်ခြင်း။
*   **Quality Testers**: ဆော့ဖ်ဝဲလ် သို့မဟုတ် ထုတ်ကုန်များ၏ အရည်အသွေးကို စစ်ဆေးသူများ။
*   **End Users**: ဆော့ဖ်ဝဲလ် သို့မဟုတ် ထုတ်ကုန်ကို နောက်ဆုံးအသုံးပြုသူများ။
*   **Debug**: ကွန်ပျူတာပရိုဂရမ်တစ်ခုရှိ အမှားများ (bugs) ကို ရှာဖွေ၊ ဖော်ထုတ်ပြီး ပြင်ဆင်ခြင်း။
*   **Failure Points**: မော်ဒယ်တစ်ခု၏ အားနည်းချက်များ သို့မဟုတ် မှားယွင်းနိုင်ခြေရှိသော အပိုင်းများ။
*   **Algorithmic Biases**: AI algorithms များ၏ ဆုံးဖြတ်ချက်များတွင် ဒေတာ သို့မဟုတ် ဒီဇိုင်းကြောင့် ဖြစ်ပေါ်လာသော ဘက်လိုက်မှုများ။
*   **Gradio Library**: Python library တစ်ခုဖြစ်ပြီး machine learning မော်ဒယ်တွေအတွက် အသုံးပြုရလွယ်ကူတဲ့ web interface တွေ ဒါမှမဟုတ် demo တွေကို အလွယ်တကူ ဖန်တီးနိုင်စေပါတယ်။
*   **Python**: အလွန်ရေပန်းစားသော high-level, general-purpose programming language။
*   **Sketch Recognition**: လက်ဆွဲပုံများကို AI က အသိအမှတ်ပြုခြင်း။
*   **Question Answering**: ပေးထားသော စာသားတစ်ခုမှ မေးခွန်းတစ်ခု၏ အဖြေကို ရှာဖွေခြင်း။
*   **Context Paragraph**: မေးခွန်းဖြေဆိုခြင်းအတွက် အဖြေရှာဖွေရန် အသုံးပြုသော စာသားအပိုင်း။
*   **Probability Score**: ခန့်မှန်းချက်တစ်ခု၏ ဖြစ်နိုင်ခြေကို ဖော်ပြသော ဂဏန်းတန်ဖိုး။
*   **Extractive Question Answering**: ပေးထားသော context စာသားမှ အဖြေကို တိုက်ရိုက် ထုတ်ယူသော question answering ပုံစံ။
*   **Background Removal**: ပုံရိပ်တစ်ခုမှ နောက်ခံကို ဖယ်ရှားခြင်း။
*   **Image Classification**: ပုံရိပ်များကို သတ်မှတ်ထားသော အမျိုးအစားများထဲသို့ ခွဲခြားသတ်မှတ်ခြင်း။
*   **Speech Recognition**: အသံပြောဆိုမှုများကို စာသားအဖြစ် ပြောင်းလဲခြင်း။
*   **Hugging Face Spaces**: Hugging Face Hub ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး Gradio ကဲ့သို့သော library များကို အသုံးပြု၍ Machine Learning demos များကို host လုပ်ပြီး မျှဝေနိုင်သည်။